1. Field of the Invention
The present invention relates to data communications. More specifically, the present invention relates to parallel data bus interfaces.
2. Description of the Related Art
Digital signaling plays dominant role in modern computer and electronics products. Computers, microprocessors, DSP and microcontrollers are used in a vast array of consumer, commercial, and government applications. Devices such as kitchen appliances and children""s toys now routinely utilize computers. Obviously, the use of personal computers has become commonplace. Computers are used in automotive and commercial applications as well. As shared aspect of virtually all computer applications is the need for computers, processors, microprocessors and microcontrollers to communicate digital information within the devices themselves, as well as to peripheral devices. Peripheral devices include other computers, memory, input/output controllers, DSP""s, multi-function peripherals, mass storage devices, printers, network devices and a host of other interface devices.
The preferred means of communicating digital information among and between computers and peripherals is the digital data bus. This type of bus is the standard because of its simplicity and its ability to convey a large amount of data simultaneously, by virtue of the parallel communications paths inherent is such a bus. In addition to the data bus, digital buses are used for addressing and control as well. Parallel digital buses are used for communications within integrated devices, such as personal computers, as well as communications with external peripheral devices.
The simplicity of the parallel digital bus does impose certain limitations and problems. Each bus requires that a large number of circuit conductors be deployed to accomplish the desired interconnections. A large number of conductors require a proportionally large amount of printed circuit board area, or xe2x80x98real estatexe2x80x99. Similarly, if cabling is utilized, the cables must also comprise a large number of circuit conductors to implement a parallel digital bus. Of course, the interface connectors become large and more cumbersome. There is an obvious cost penalty associated with the foregoing as well, including larger printed circuit boards, or boards with a greater number of conductive layers. Also, bigger and more expensive cables and connectors. Another aspect of parallel data bus interfaces is the electrical characteristics. Parallel conductors are prone to EMI and cross talk. This can degrade system performance, especially in environments where system performance is being pushed to the limits of modern design. Also, the longer the cable run, the more likely electrical problems are to occur. Distributed impedances grow in magnitude as cabling run lengths increase. Digital square-wave pulses become distorted and signaling reliability goes down.
The market trends in computer technology of all kinds are pushing for faster and smaller devices. Higher reliability continues to be an important goal in systems design. Digital buses become wider as more parallel data paths are needed to meet system performance requirements. Printed circuit board trace routings are pushed ever closer together, exacerbating electrical and propagation issues. Thus there is a need in the art for a high performance digital parallel bus interface and interconnection scheme to mitigate the foregoing issues.
The need in the art is addressed by the apparatus and methods taught in the present invention. In a first embodiment, a data encoder for combining several data lines into a single medium is taught. The encoder comprises a plurality of signal converters, each having an input for receiving one of a plurality of binary signals, and an output for outputting a discrete amplitude level when the received binary signal is active. Also, an amplitude adder having a plurality of inputs coupled to the outputs of the plurality of signal converters, and an output for outputting an encoded signal according to the sum of the input amplitudes. In a refinement of this invention, the plurality of binary signals includes a clock signal, and the decoder further comprises a clock interface coupled to the amplitude adder and operative to receive the clock signal and gate the output of the amplitude adder in accordance therewith. In one embodiment, the plurality of binary signals are structured as a digital bus.
At a higher level of integration, all of the elements are disposed within an integrated circuit and the amplitude adder output couples to an external connection of the integrated circuit. In a further refinement, output discrete amplitude levels of the plurality of signal converters are related by binary orders of magnitude. The invention may also comprise a low pass filter, having an input coupled to the output of the amplitude adder, and an output for outputting the encoded signal with reduced bandwidth.
An alternative embodiment is taught, which comprises a sinusoidal signal source, a plurality of gain stages, each having an input coupled to the sinusoidal signal source, an output, and a discrete gain value. Also, an analog multiplexer having a plurality of inputs coupled to the outputs of the plurality of gain stages, and a plurality of control inputs coupled to a data bus, and an output for outputting the signal present on a selected one of the plurality inputs according to the present state of the data bus. In a refinement of this invention, the data bus includes a clock signal, and further comprises a clock interface coupled to the analog multiplexer and operative to receive the clock signal and gate the output of the analog multiplexer in accordance therewith. In another refinement, all of the elements are disposed within an integrated circuit and the analog multiplexer output couples to an external connection of the integrated circuit. In another refinement, the discrete gain values are related by binary orders of magnitude. In another refinement, the encoder further comprises a low pass filter having an input coupled to the output of the analog multiplexer, and an output.
In addition to the encoder, the present invention also teaches a data decoder. The data decoder comprises an amplitude discriminator having an input for receiving an amplitude encoded signal, and a plurality of outputs, each activated according to a discrete amplitude level. Also, a symbol generator having a plurality of inputs coupled to the plurality of outputs of the amplitude discriminator, and a plurality of outputs for outputting a predetermined binary symbol according to which of the plurality of inputs receives an active signal. In a refinement of this invention, the amplitude encoded signal includes a sequence of discrete amplitude levels, and it further comprises a clock recovery circuit coupled to the amplitude encoded signal and operable to output a clock signal in synchronous with the sequence of discrete amplitude levels. The clock signal is further coupled to the symbol generator and operable to gate the plurality of outputs in accordance therewith.
In a refinement of the data decoder, the plurality of outputs are structured as a digital bus. In a further refinement, all of the elements are disposed within an integrated circuit and the amplitude discriminator input couples to an external connection of the integrated circuit.
The present invention also teaches several methods of implementing the inventive concepts taught herein. The first is a method of encoding a plurality of data signals into an encoded signal. It comprising the steps of generating a plurality amplitude levels discretely corresponding to the plurality of data signals, and summing the plurality of amplitude levels to produce an amplitude encoded signal. In a refinement of the foregoing, the plurality of binary signals includes a clock signal, and the method further comprises the step of synchronizing a sequence of amplitude encoded signals in accordance with the clock signal. In a further refinement, the plurality of data signals are structured as a digital bus. In a further refinement, the plurality of amplitude levels are related by binary orders of magnitude. In a further refinement, the amplitude levels are positive voltage levels. In a further refinement, the amplitude levels are negative voltage levels. In a further refinement, the amplitude levels alternate between positive and negative voltage levels. In a further refinement, the method further comprises the step of filtering a portion of the high frequency energy from the amplitude-encoded signal, thereby reducing the total signal bandwidth requirements.
In a compliment to the foregoing encoding method, the present invention teaches a method of decoding an encoded signal into a plurality of data signals. This method comprises the steps of discriminating a present one of a plurality of peak signal amplitudes to a predetermined binary symbol, and coupling each bit of the symbol to a discrete data signal. In a refinement of this method, the encoded signal includes a sequence of peak signal amplitudes, and the method further comprises the steps of recovering a clock signal in synchronous with the sequence of signal amplitudes, and gating the coupling step in accordance with the recovered clock signal. In a further refinement, the plurality of data signals are structured as a digital bus. In a further refinement, the peak signal amplitudes are positive voltage levels. In a further refinement, the peak signal amplitudes are negative voltage levels. In a further refinement, the peak signal amplitudes alternate between positive and negative voltage levels.
In another method of practicing the present invention, a method of communicating a plurality of data signals is taught. This method comprises the steps of generating a plurality of amplitude levels discretely corresponding to a plurality of data signals and summing the plurality of amplitude levels to produce an amplitude encoded signal. Then, coupling the encoded signal through a communications medium and discriminating the amplitude level of the amplitude encoded signal in accordance with one of a plurality of predetermined binary symbols. Finally, coupling each bit of the symbol to a discrete data signal. The ways of refining the previously discussed methods are applicable to this method as well.
In a further advancement in the art, the present invention teaches a method of bi-directional communications of data signals through a communications medium. This method comprises the steps of repeatedly generating a plurality amplitude levels discretely corresponding to a plurality of data signals and repeatedly summing the plurality of amplitude levels to produce a first sequence of amplitude encoded signals. Then, synchronizing the first sequence of amplitude encoded signals with a first portion of a series of clock cycles and coupling the first sequence of encoded signals through a communications medium. At the same time, receiving a second sequence of amplitude encoded signals from the communications medium and discriminating the amplitude of the second sequence of amplitude encoded signals, occupying a second sequence of clock cycles, each in accordance with one of a plurality of predetermined binary symbols. Then, coupling each bit of the symbols to a discrete data signal. In a refinement to this method, the first sequence of amplitude encoded signals are encoded with positive voltage levels and the second sequence of amplitude encoded signals are encoded with negative voltage levels. In a further refinement, the method further comprises the step of recovering the series of clock cycles from the second series of amplitude encoded signals.